<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="text"></xsl:output>
	<xsl:template match="/">
		digraph G{
			<!-- size="6.7,15"; -->
			node[shape="component"]
			<xsl:apply-templates mode="subgraph"/>
			<xsl:apply-templates />
		}
	</xsl:template>

	<xsl:template match="//dir" mode="subgraph">
		subgraph cluster0 {
		  <xsl:value-of select="concat('label=&quot;',@fullName,'&quot;;')" />
		  <xsl:for-each select="file">
		  	<xsl:value-of select="concat('&quot;',@fullName,'&quot;;')" /><xsl:text>&#xa;</xsl:text>
		  </xsl:for-each>
		}
	</xsl:template>
	
	<xsl:template match="//dir/file">
		<xsl:variable name="name">
			<xsl:value-of select="@fullName"></xsl:value-of>
		</xsl:variable>
		
		<xsl:for-each select="links/link/file">
			<xsl:text><xsl:value-of select="concat('&quot;',$name,'&quot;->&quot;',@fullName,'&quot;;')" />&#xa;</xsl:text>
		</xsl:for-each>
		
	</xsl:template>

	<!-- standard copy template -->
	<!--
		<xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates
		select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template>
	-->
</xsl:stylesheet>